This invention relates to computer systems and, more particularly, to computer systems for delivering targeted content.
Requirements for building web-based applications call for generating experiences which are highly customized for each individual user. The construction of this experience relies on many factors, including delivering personalized content through the user interface, giving some people specific privileges (such as receiving a promotion), and customizing business logic on an individual basis.
Typically, these processes are based on complex logic, and are implemented through application code processes. However, the person who makes the decisions as to these behaviors is often non-technical. This personalization manager defines the end-goal and requires a developer to write custom code to execute the vision. With the importance of xe2x80x9ctime to market,xe2x80x9d a process that allows the personalization manager to define and execute his or her goal without technical development resources can determine whether a project is successful.
According to the present invention, a method and system for constructing personalized or other targeted result sets is provided. The platform provides a general mechanism that allows a user to define business rules, and have those rules be processed in the context of an object repository., The platform permits a single framework to be used to build rules, with a simple syntax. When executed, the rules can return a variety of items depending on what object container is queried. A personalization manager can utilize the same rule syntax to construct, for example, sets of personalized documents, personalized promotions (e.g., coupons), custom pricing models (e.g., custom catalog pricing), or specific instances of application functionality (e.g., a set of instantiated Java objects). The rules can consider attributes of content and attributes of a user""s profile. Also, rules can consider date, time, or environment conditions. The rules can be reused or modified easily, and can be inserted as portions of other rules.
The engine that manages the runtime process of executing the rules is able to integrate with external legacy systems. These external legacy systems include simple file systems, content management servers, relational databases, and mainframes. The schema that represent the attributes of the elements in the repository are not fixed. Each repository is able to define its own data model and the engine is able to expose that data model to the running environment. This introspection capability allows tools to be built that help the personalization manager form the correct business rules within the context of the desired repository.